Sound and Complete Bidirectional Typechecking for Higher-Rank Polymorphism with Existentials and Indexed Types

نویسندگان

  • Joshua Dunfield
  • Neelakantan R. Krishnaswami
چکیده

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability, its error reporting, and its ease of implementation. Following principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to indexed types (generalized algebraic datatypes) are less clear. Building on proof-theoretic treatments of equality, we give a declarative specification of typing based on focalization. This approach permits declarative rules for coverage of pattern matching, as well as support for first-class existential types using a focalized subtyping judgment. We use refinement types to avoid explicitly passing equality proofs in our term syntax, making our calculus close to languages such as Haskell and OCaml. An explicit rule deduces when a type is principal, leading to reliable substitution principles for a rich type system with significant type inference. We also give a set of algorithmic typing rules, and prove that it is sound and complete with respect to the declarative system. The proof requires a number of technical innovations, including proving soundness and completeness in a mutually-recursive fashion.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Sound and Complete Bidirectional Typechecking for Higher-Rank Polymorphism with Existentials and Indexed Types

ANONYMOUS AUTHOR(S) Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability, its error reporting, and its ease of implementation. Following principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to indexed types (generaliz...

متن کامل

Sound and Complete Bidirectional Typechecking for Higher-Rank Polymorphism and Indexed Types: Lemmas and Proofs

B Properties of the Declarative System 23 1 Lemma (Declarative Weakening) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2 Lemma (Declarative Term Substitution) . . . . . . . . . . . . . . . . . . . . . . . . 23 3 Lemma (Reflexivity of Declarative Subtyping) . . . . . . . . . . . . . . . . . . . . . 23 4 Lemma (Subtyping Inversion) . . . . . . . . . . . . . . . . . . . . . . . . . ....

متن کامل

Sound and Complete Bidirectional Typechecking for Higher-Rank Polymorphism and Indexed Types

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability, its error reporting, and its ease of implementation. Following principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to indexed types (generalized algebraic datatyp...

متن کامل

Bidirectional polymorphism through greed and unions

Bidirectional typechecking has become popular in advanced type systems because it works in many situations where inference is undecidable. In this paper, I show how to cleanly handle parametric polymorphism in a bidirectional setting, even in the presence of subtyping. The first contribution is a bidirectional type system that supports first-class (higher-rank and impredicative) polymorphism bu...

متن کامل

Lemmas and Proofs for “Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism”

A Declarative Subtyping 6 A.1 Properties of Well-Formedness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1 Proposition (Weakening) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Proposition (Substitution) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 A.2 Reflexivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1601.05106  شماره 

صفحات  -

تاریخ انتشار 2016